home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 331 / gemfst14 / gemf_v14.doc < prev    next >
Text File  |  1990-07-20  |  10KB  |  238 lines

  1.  GEMFAST v1.40.
  2.  05/26/90 by Ian Lepore.
  3.  
  4.  Version 1.40 of GemFast is a full release of the GemFast system.
  5.  
  6.  In GEMFST14.ARC you will find new new libraries (VDIFAST.A and AESFAST.A),
  7.  & new docs; see packing list in GEMFBIND.DOC for a full list of contents.
  8.  
  9.  A new set of example programs was co-released with this version of 
  10.  GemFast.  Look for GEMFXM14.ARC at your favorite PD software outlet.
  11.  
  12.  A new version of the non-standard utilties in C source code form was
  13.  co-released with this version of GemFast.  Look for GEMFUT14.ARC.
  14.  
  15.  The source code for this release of the bindings can be found in the
  16.  file GEMFSC14.ARC.
  17.  
  18.  All GemFast-related files can be found on BIX, in atari.st/listings.
  19.  
  20.  The primary reasons for this release are:
  21.     - Added fsel_14input() function (*very* small binding for fsel_exinput).
  22.     - Changes in GEMFAST.H file.
  23.     - Added obj_rbselect() function.
  24.     - Added obj_xtfind() function.
  25.     - Added alternate calling standards bindings:
  26.         evnx_multi()
  27.         winx_calc()
  28.         winx_get()
  29.         frmx_center()
  30.     
  31.  INSTALLING THIS RELEASE:
  32.  
  33.   (Detailed instructions for a first-time install are in GEMFBIND.DOC)
  34.  
  35.   Throw away the following files from your current release:
  36.  
  37.       AESFAST.A    VDIFAST.A    GEMFAST.H    
  38.       AESFAST.NDX  VDIFAST.NDX  (optional...used only with the aln linker)
  39.       All documentation files.
  40.       
  41.   Install the following files from the ARC:
  42.  
  43.     AESFAST.A    VDIFAST.A     GEMFAST.H    
  44.     All DOC files.
  45.  
  46.  If you are using the Atari 'aln' linker, be sure to create new .NDX files
  47.  by running the DOINDEX utility against the new bindings (.a files).
  48.  
  49.  The major document changes occurred in GEMUTIL.DOC and GEMXTEND.DOC; 
  50.  it is recommended that both these files by reread in their entirity.
  51.  
  52. ;*************************************************************************
  53. ; GEMFAST v1.40 notes.
  54. ;*************************************************************************
  55.  
  56. Summary of changes to the bindings:
  57.  
  58.  - Several alternate bindings have been added (listed above).  These are
  59.    documented in GEMXTEND.DOC.
  60.  
  61.  - The fsel_14input() function was added.  This is a no-emulation version
  62.    of the TOS 1.4 fsel_exinput() function.  If TOS 1.4 is available, the
  63.    fsel_exinput function is called, else the old fsel_input is called.
  64.  
  65. Summary of changes to the GEMFAST.H file:
  66.  
  67.  - The constants AESUTIL_A, AESFAST_A, and VDIFAST_A have been added.  
  68.    This allows full compile-time check of the runtime environment.
  69.    
  70.  - All elements in structures which were defined as 'long' but were 
  71.    really pointers to something are now defined as the appropriate type
  72.    of pointer.  This is gonna cause some existing code to break, but it
  73.    is about time to clean up this DRI-originated stupidity.  If your 
  74.    compiler is smart enough to warn you about pointer type mismatches,
  75.    you can clean up your existing code in just a few minutes. (And if your
  76.    compiler doesn't complain about mismatches, you're already all set.)
  77.    Comments in GEMFAST.H describe these pointer changes in more detail.
  78.  
  79.  - Added RSHDR structure for embedded RSC file support.
  80.  
  81. Summary of changes to the non-standard utilities:
  82.  
  83.  - The rsc_gstrings()/rcs_sstrings() functions now support ICON objects.
  84.  
  85.  - Added obj_rbselect() function.  This function deselects the current 
  86.    radio button in a group and selects a new one.  
  87.    
  88.  - Added obj_xtfind() function.  This function find an object with a given
  89.    extended object type within a tree/subtree.
  90.  
  91. ;*************************************************************************
  92. ; GEMFAST v1.30 notes.
  93. ;*************************************************************************
  94.  
  95. Summary of changes to the GEMFAST.H file:
  96.  
  97.  - The constant GEMFAST_H is now #define'd to 1.  This allows C source code
  98.    to detect whether the GEMFAST system is in use (and perhaps conditionally
  99.    include code for the utilties that may not be present under other
  100.    bindings systems).
  101.  
  102.  - Several new constants have been added to provide compatibility with MWC.
  103.    (EG, MWC uses ROOT instead of R_TREE, both are now defined).  Changes of
  104.    this nature should be transparent to existing applications, unless one
  105.    of the new constants conflicts with a name being used by the application.
  106.    
  107.  - The constants defining the VDI interior styles & patterns were originally
  108.    defined as IP_HOLLOW, etc, in the GEMDEFS.H file.  I had renamed these to
  109.    VIP_HOLLOW, etc, for GEMFAST.H.  At the request of several users, I've
  110.    added the old names back in.  The VIP_????? names will go away eventually.
  111.    The names of the object colors have also been added back in.
  112.    
  113.  - Lots of #define statements have been added to support the old names of
  114.    utility functions which have been renamed within the bindings.
  115.  
  116. Summary of changes to the non-standard utilities:
  117.  
  118.  - Routine objcl_calc() is in the process of being phased out.  Don't
  119.    use it any more.
  120.    
  121.  - Many of the utility functions have been renamed.  The old names will
  122.    continue to be supported for some time via #define statements in the
  123.    GEMFAST.H file.  Full details on this are available in GEMUTIL.DOC, the
  124.    following is a summary of the renaming:
  125.    
  126.      objclg_adjust renamed to rc_gadjust.
  127.      objclv_adjust renamed to rc_vadjust.
  128.      objc_xywh     renamed to obj_xywh.
  129.      objrb_which   renamed to obj_rbwhich.
  130.      objst_change  renamed to obj_stchange.
  131.      objfl_change  renamed to obj_flchange.
  132.      graqon_mouse  renamed to gra_qonmouse.
  133.      graqof_mouse  renamed to gra_qofmouse.
  134.      graq_mstate   renamed to gra_qmstate.
  135.  
  136.  - A couple of new utility functions were formalized in this release:
  137.  
  138.      obj_rbfind  - find child object in a given state (eg, radio button).
  139.      obj_offxywh - get screen-adjusted x/y/w/h of object.
  140.  
  141. Summary of AES bindings changes in v1.30:
  142.  
  143.  - Fixed the emulation mode of fsel_exinput when running on a pre-TOS 1.4
  144.    system.  The emulation would die, 2 bombs, if run on a pre-1.4 system,
  145.    AND NOBODY REPORTED IT FOR OVER 6 MONTHS!  I finally discovered it 
  146.    myself when testing an application for 1.0 compatibility.  This tells
  147.    me that NOBODY is using this function, but that's cool, I'm gonna keep
  148.    supporting it anyway.
  149.    
  150. Summary of VDI bindings changes in v1.30:
  151.  
  152.  - Fixed a problem with vsl_ends().  The binding was coded to DRI specs,
  153.    but the DRI docs don't mention that the function returns 2 integers.
  154.    Since the DRI docs make no provisions for returning these values through
  155.    the binding, the fix simply prevents the bombs; the values are still not
  156.    returned to the calling application.
  157.  
  158. ;*************************************************************************
  159. ; GEMFAST v1.20 notes.
  160. ;*************************************************************************
  161.  
  162. Summary of AES bindings changes in v1.20:
  163.  
  164.  - The 'quick' mouse functions graqon_mouse(), graqof_mouse(), and
  165.    graq_mstate() were fixed to work under all TOS versions.
  166.    
  167.  - The shel_get() and shel_put() functions were implemented as described
  168.    in the TOS 1.4 release notes (see docs in GEMXTEND.DOC).
  169.  
  170.  - Another emulation version of fsel_exinput() was added.  This version
  171.    emulates the prompt feature only, beyond that it is identical to the
  172.    TOS 1.0 fsel.  This one is only half the size of the full emulation.
  173.    (Documented under fsel_smallexinput() in GEMXTEND.DOC).
  174.  
  175.  - A lot of the source modules were split into smaller modules containing
  176.    less functions.  This makes the library bigger, but might make your
  177.    programs a bit smaller, as there will be less tendancy to include 
  178.    pieces of the bindings that your program will never use.
  179.  
  180.  - A TST.W D0 instruction was added to the common return-to-user routine
  181.    so that the flags in the CCR will match the return value in register d0.
  182.    This is needed because the Laser C compiler assumes it will be so, and
  183.    will not generate TST.x instructions inline under some circumstances,
  184.    such as when a call is coded as "if (!rsrc_load(filename))".
  185.  
  186.  - A TST.W D0 (or equivelent) was also added to all the utility routines
  187.    which are not defined as type 'void'.
  188.  
  189. Summary of VDI bindings changes in v1.20:
  190.  
  191.  - A bug in v_contourfill() was fixed (call no longer causes 3 bombs).
  192.  
  193.  ; end of docs for v1.2
  194.  
  195. ;*************************************************************************
  196. ; GEMFAST v1.10 notes.
  197. ;*************************************************************************
  198.  
  199. Summary of AES bindings changes in v1.10:
  200.  
  201.  - A global variable was added to AES@NOTE such that the version number is 
  202.    part of the variable name.  Allows a quick version-check via a link map.
  203.  
  204.  - New TOS 1.4 function 'wind_new()' added (see GEMXTEND.DOC).
  205.  
  206.  - New TOS 1.4 function 'fsel_exinput()' (see GEMXTEND.DOC).
  207.  
  208.  - 'Undocumented' functions 'form_button()' and 'form_keybd()' added
  209.     (see GEMXTEND.DOC).
  210.  
  211.  - Some cleanup in AESCOMN.S.
  212.  
  213.  - All of the variables in the 'global' array now have unique global 
  214.    names which can be accessed from C (see GEMFBIND.DOC section 6.0).
  215.  
  216.  The AESFAST.A file is much bigger than v1.0.  This is primarily due to 
  217.  the addition the new fsel_exinput function (see below), and the vast
  218.  amount of code required to simulate its actions on pre-TOS 1.4 systems.
  219.  If you don't use this function, the increase in size won't affect you.
  220.  
  221. Summary of VDI bindings changes in v1.10:
  222.  
  223.  - A global variable was added to VDI@NOTE such that the version number is 
  224.    part of the variable name.  Allows a quick version-check via a link map.
  225.    
  226.  - Misnamed function vq_extend was renamed to vq_extnd in VDIINQR1.S
  227.  
  228.  - The stack parms for vq_extnd were wrong, now fixed.
  229.  
  230.  The VDIFAST.A file is slightly smaller.  This is due to a change in the
  231.  way I build the library.  Instead of adding everything to the library,
  232.  then running the Sozobon GLOBS program to remove non-global symbols from
  233.  the files, I ran GLOBS on each file individually before adding it to the
  234.  library.  I didn't expect any difference, and I don't know why there is
  235.  one, but since it made the library smaller I'm not complaining.
  236.  
  237.  ; end of doc.
  238.